| 
                
               | 
              
                
               | 
              
                @@ -3,8 +3,10 @@ 
               | 
            
            
            
              | 
                3
               | 
              
                3
               | 
              
                 from __future__ import division 
               | 
            
            
            
              | 
                4
               | 
              
                4
               | 
              
                  
               | 
            
            
            
              | 
                5
               | 
              
                5
               | 
              
                 import json 
               | 
            
            
            
              | 
                
               | 
              
                6
               | 
              
                +from datetime import datetime 
               | 
            
            
            
              | 
                6
               | 
              
                7
               | 
              
                  
               | 
            
            
            
              | 
                7
               | 
              
                8
               | 
              
                 from django.conf import settings 
               | 
            
            
            
              | 
                
               | 
              
                9
               | 
              
                +from django.db.models.query_utils import Q 
               | 
            
            
            
              | 
                8
               | 
              
                10
               | 
              
                 from django_logit import logit 
               | 
            
            
            
              | 
                9
               | 
              
                11
               | 
              
                 from django_response import response 
               | 
            
            
            
              | 
                10
               | 
              
                12
               | 
              
                 from paginator import pagination 
               | 
            
            
            
            
            
              | 
                
               | 
              
                
               | 
              
                @@ -181,10 +183,25 @@ def maintenance_list(request): 
               | 
            
            
            
              | 
                181
               | 
              
                183
               | 
              
                     user_id = request.POST.get('user_id', '')
               | 
            
            
            
              | 
                182
               | 
              
                184
               | 
              
                     page = request.POST.get('page', 1)
               | 
            
            
            
              | 
                183
               | 
              
                185
               | 
              
                     num = request.POST.get('num', 20)
               | 
            
            
            
              | 
                
               | 
              
                186
               | 
              
                +    query = request.POST.get('query', '')
               | 
            
            
            
              | 
                
               | 
              
                187
               | 
              
                +    maintenance_status = request.POST.get('maintenance_status', '')
               | 
            
            
            
              | 
                
               | 
              
                188
               | 
              
                +    start_time = request.POST.get('start_time', '')
               | 
            
            
            
              | 
                
               | 
              
                189
               | 
              
                +    end_time = request.POST.get('end_time', '')
               | 
            
            
            
              | 
                184
               | 
              
                190
               | 
              
                  
               | 
            
            
            
              | 
                185
               | 
              
                191
               | 
              
                     maintenances = MaintenaceInfo.objects.filter(status=True) 
               | 
            
            
            
              | 
                186
               | 
              
                192
               | 
              
                     if not is_admin(brand_id, admin_id): 
               | 
            
            
            
              | 
                187
               | 
              
                193
               | 
              
                         maintenances = maintenances.filter(user_id=user_id) 
               | 
            
            
            
              | 
                
               | 
              
                194
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                195
               | 
              
                +    if start_time and end_time: 
               | 
            
            
            
              | 
                
               | 
              
                196
               | 
              
                +        start_time = datetime.strptime(start_time, '%Y%m%d') 
               | 
            
            
            
              | 
                
               | 
              
                197
               | 
              
                +        end_time = datetime.strptime(end_time + ' 23:59:59', '%Y%m%d %H:%M:%S') 
               | 
            
            
            
              | 
                
               | 
              
                198
               | 
              
                +        maintenances = maintenances.filter(created_at__range=(start_time, end_time)) 
               | 
            
            
            
              | 
                
               | 
              
                199
               | 
              
                + 
               | 
            
            
            
              | 
                
               | 
              
                200
               | 
              
                +    if query: 
               | 
            
            
            
              | 
                
               | 
              
                201
               | 
              
                +        maintenances = maintenances.filter(Q(phone=query) | Q(name__icontains=query) | Q(sn=query)) 
               | 
            
            
            
              | 
                
               | 
              
                202
               | 
              
                +     
               | 
            
            
            
              | 
                
               | 
              
                203
               | 
              
                +    if maintenance_status: 
               | 
            
            
            
              | 
                
               | 
              
                204
               | 
              
                +        maintenances = maintenances.filter(maintenance_status=maintenance_status) 
               | 
            
            
            
              | 
                188
               | 
              
                205
               | 
              
                  
               | 
            
            
            
              | 
                189
               | 
              
                206
               | 
              
                     count = maintenances.count() 
               | 
            
            
            
              | 
                190
               | 
              
                207
               | 
              
                     maintenances = [maintenance.data for maintenance in maintenances] 
               |